package com.shop.common.lang;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ObjectUtils extends org.apache.commons.lang3.ObjectUtils{
    private static Logger logger = LoggerFactory.getLogger(ObjectUtils.class);

    /**
     * 转换为Double类型
     */
    public static Double toDouble(final Object val){
        if(val==null){
            return 0D;
        }
        try{
            String str = val.toString();
            if(StringUtils.isBlank(str)){
                return 0D;
            }
            if(StringUtils.contains(str,"*")){
                Double number=null,d=null;
                for(String s: StringUtils.split(str,"*")){
                    d=Double.parseDouble(StringUtils.trim(s));
                    if(number==null){
                        number=d;
                    }else{
                        number*=d;
                    }
                }
                return number;
            }
            return Double.parseDouble(StringUtils.trim(str));
        }catch (Exception e){
            return 0D;
        }
    }

    /**
     * 转化为Integer类型
     */
    public static  Integer toInteger(final Object val){
        return toDouble(val).intValue();
    }

    /**
     * 转化为Long类型
     */
    public static  Long toLong(final Object val){
        return toDouble(val).longValue();
    }

    /**
     * 转化为Float类型
     */
    public static Float toFloat(final Object val){
        return toDouble(val).floatValue();
    }

    /**
     * 转化为字符串
     */
    public static String toString(final Object obj){
        return toString(obj,StringUtils.EMPTY);
    }

    /**
     * 转化为字符串,如果对象为空,则使用defaultVal值
     */
    public static String toString(final Object obj,final String defaultVal){
        return obj==null? defaultVal:obj.toString();
    }













}
